home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / INTERNET / SITES / RAND / UNSPLIT / text0110.txt < prev    next >
Encoding:
Text File  |  1997-02-06  |  9.4 KB  |  224 lines

  1.  
  2.     Here is the second part of the information about the new DSP included
  3. in the PARSEC44...
  4.  
  5.     More information can be found at :
  6.  
  7. http://www.ti.com/sc/docs/dsps/prodinfo/newc4x.htm
  8.  
  9.  
  10.  
  11. ------------------------------------------------------------------------- 
  12.  
  13. Contents of Part 4:
  14.  
  15.    operation 
  16.       memory aliasing 
  17.       communication ports 
  18.       DMA coprocessor 
  19.       central processing unit 
  20.       communication-port direction pin 
  21.       communication-port software reset 
  22.       NMI with bus-grant feature 
  23.       IDLE2 clock-stop power-down mode 
  24.       development tools 
  25.  
  26.  
  27.  
  28. operation
  29.  
  30. The TMX320C44 has four on-chip communication ports for processor-to-processor communication with no external
  31. hardware and simple communication software. This allows connectivity with no external glue logic. The
  32. communication ports remove input / output bottlenecks, and the independent smart 6-channel DMA coprocessor is
  33. able to handle the CPU input / output burden. 
  34.  
  35. To fit the TMX320C44 into a 304-lead PQ2 package ( thermally enhanced plastic quad flatpack), two
  36. communication ports are removed and the external local and global address buses are reduced to 24 address
  37. lines each. In this case, both the bond pads and driver circuits are removed, decreasing die size and power
  38. consumption. Otherwise, functionality remains the same as the rest of the TMS320C4x family. 
  39.  
  40. The communication-port token and data-strobe control lines are internally connected to avoid spurious data,
  41. boot-up and power-consumption problems. 
  42.  
  43. The memory map for 'C44 is shown in FIgure 1. 
  44.  
  45.         
  46.  
  47. Figure 1. Memory Map for the TMS320C44 
  48.  
  49.  
  50.  
  51. memory aliasing
  52.  
  53. The TMX320C44 offers global and local addresses of A0 - A23 and LA0 - LA23, giving an external address reach
  54. of (2 buses) x (2 **24) = 2**25 words. Since the internal address span of the TMX320C44 is 2**32 words,
  55. reading or writing to memory outside of the base-address region causes memory aliasing. Figure 2 shows how the
  56. memory pages overlap each other. 
  57.  
  58.         
  59.  
  60. Figure 2. Memory Alias 
  61.  
  62.  
  63.  
  64. communication ports
  65.  
  66. The TMX320C44 contains four identical high-speed communication ports, each of which provides a bidirectional
  67. communication interface to other 'C4x devices and external peripherals. The key features of the communication
  68. ports are: 
  69.  
  70.    Direct interprocessor communication and processor I / O 
  71.    20-Mbytes / s bidirectional interface on each communication port for high-speed multiprocessor interface 
  72.    Port direction pin (CDIR) to ease interfacing 
  73.    Separate input and output 8-word deep FIFO buffers for processor-to-processor communication and I / O 
  74.    Automatic arbitration and handshaking for direct processor-to-processor connection 
  75.  
  76.  
  77.  
  78. DMA coprocessor
  79.  
  80. The DMA coprocessor allows concurrent I / O and CPU processing for the highest sustained CPU performance. The
  81. key features of the DMA coprocessor are: 
  82.  
  83.    Link pointers to allow DMA channels to autoinitialize without CPU intervention 
  84.    Parallel CPU operation and DMA transfers 
  85.    Six DMA channels to support for memory-to-memory data transfers 
  86.    Split mode operation doubles the available channels to twelve when data transfers to and from a
  87.    communication port are required 
  88.  
  89.  
  90.  
  91. central processing unit
  92.  
  93. The TMX320C44 CPU is configured for high-speed internal parallelism for the highest sustained performance. The
  94. key features of the CPU are: 
  95.  
  96.    Eight operations / cycle 
  97.       40- / 32-bit floating-point / integer multiply 
  98.       40- / 32-bit floating-point / integer ALU operation 
  99.       Two data accesses 
  100.       Two address register updates 
  101.    Floating-point conversion 
  102.    Divide and square-root support 
  103.    'C3x and 'C4x assembly-language compatibility 
  104.    Byte and halfword accessibility 
  105.  
  106.  
  107.  
  108. communication-port direction pin
  109.  
  110. A port direction pin (CDIR1, CDIR2, CDIR4, CDIR5) is available for each 'C44 communication port. When the
  111. communication port is in the output mode, CDIRx is driven low. When the communication port is in the input
  112. mode, CDIRx is driven high. The truth table for two TMX320C44 devices is shown in the table below.
  113. Communication port 1 of CPUA is connected to communication port 4 of CPUB. 
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120. communication-port software reset
  121.  
  122. The input and output FIFO levels for a communication port can be flushed by writing at least two back-to-back
  123. values to its communication-port-software reset address as specified in Table 1. 
  124.  
  125. Table 1. Communication-Port Software Reset Address 
  126.  
  127.  
  128.  
  129.  
  130. When used in conjunction with the communication-port direction pins and NMI- bus grant, an effective method of
  131. error detection and correction can be achieved. A subroutine showing how to reset communication port 1 is
  132. given below in Figure 3. 
  133.  
  134. ; ------------------------------------------------;
  135. ; IDLE2: Macro to generate ilde2 opcode           ;
  136. ; ------------------------------------------------;
  137. IDLE2           .macro
  138.                 .word           06000001h
  139.                 .endm
  140. ; -------------------------------------------------;
  141. ; RESET1:Flushes FIFOs data for communication port 1;
  142. ;-------------------------------------------------;
  143. RESET1  push    AR0                     ;Save registers
  144.                 push    R0              ;       
  145.                 push    RC              ;
  146.                 ldhi    010h,AR0        ;Set AR0 to base address of COM 1
  147.                 or      050h,AR0        ;       
  148. FLUSH:  rpts    1                       ;Flush FIFO data with back to back write
  149.                 sti     R0,*+AR0(3)     ;       
  150.                 rpts    10              ;Wait
  151.                 nop                     ;
  152.                 ldi     *+AR0(0),R0     ;Check for new data from other port
  153.                 and     01FE0h,R0       ;
  154.                 bnz     FLUSH           ;
  155.                 pop     RC              ;Restore registers
  156.                 pop     R0              ;
  157.                 pop     AR0             ;
  158.                 rets                    ;Return
  159.  
  160. Figure 3. Example Software Subroutine Using IDLE2 and Communication-Port Software Reset 
  161.  
  162.  
  163.  
  164. NMI with bus-grant feature
  165.  
  166. The TMX320C44 devices have a software-configurable feature that allows forcing the internal peripheral bus
  167. ready when the NMI- signal is asserted. The NMI- bus-grant feature is enabled when bits 19 and 18 of the
  168. status register (ST) are set to 10b. When enabled, a peripheral bus-grant signal is generated on the falling
  169. edge of NMI-. If NMI- is asserted and this feature is not enabled, the CPU stalls on access to the peripheral
  170. bus if it is not ready. A stall condition occurs when writing to a full output FIFO or reading an empty input
  171. FIFO. This feature is useful in correcting communication-port errors when used in conjunction with the
  172. communication-port software-reset feature. 
  173.  
  174.  
  175.  
  176. IDLE2 clock-stop power-down mode
  177.  
  178. The TMX320C44 has a clock-stop mode, or power-down mode (IDLE2) to achieve extremely low power consumption.
  179. When an IDLE2 instruction is executed, the clocks are halted with H1 held high. ( Exiting IDLE2 requires
  180. asserting one of the IIOF3- to IIOF0- pins configured as an external interrupt.) A macro showing how to
  181. generate the IDLE2 opcode is given in Figure 3. During this power-down mode: 
  182.  
  183.    No instructions are executed. 
  184.    The CPU, peripherals, and internal memory retain their previous state. 
  185.    The external bus outputs are idle. The address lines remain in their previous state; the data lines are in
  186.    the high-impedance state; and the output control signals are inactive. 
  187.  
  188. IDLE2 is exited when one of the five external interrupts (NMI- and IIOF3- to IIOF0-) is asserted low for at
  189. least four input clocks (two H1 cycles). The clocks then start after a delay of two input clocks (one H1
  190. cycle). The clocks can start in the opposite phase; that is, H1 can be high when H3 was high before the clocks
  191. were stopped. However, the H1 and H3 clocks remain 180 degrees out of phase with each other. 
  192.  
  193. During IDLE2 operation, an external interrupt can be recognized and serviced by the CPU if it is enabled
  194. before entering IDLE2 and asserted for at least two H1 cycles. For the processor to recognize only one
  195. interrupt, the interrupt terminal must be configured for edge-trigger mode or asserted less than three cycles
  196. in level-trigger mode. Any external interrupt terminal can wake up the device from IDLE2, but for the CPU to
  197. recognize that interrupt, it must also be enabled. If an interrupt is recognized and executed by the CPU, the
  198. instruction following the IDLE2 instruction is not executed until after a return opcode is executed. 
  199.  
  200. When the device is in emulation mode, the CPU executes an IDLE2 instruction as if it were an IDLE instruction.
  201. The clocks continue to run for correct operation of the emulator. 
  202.  
  203.  
  204.  
  205. development tools
  206.  
  207. A key aspect to a parallel-processing implementation is the development tools available. The 'C44 is supported
  208. by a host of parallel-processing tools for developing and simulating code easily and for debugging
  209. parallel-processing systems. The code-generation tools include: 
  210.  
  211.    Optimizing ANSI C compiler with a runtime support library that supports use of communication ports and DMA 
  212.    Third party support for C, C++, and ADA compilers 
  213.    Several operating systems available for parallel-processing support as well as DMA and communication-port
  214.    drivers 
  215.    Assembler and linker with support for mapping program and data to parallel processors 
  216.  
  217. The simulation tools include a TI software simulator with a high-level-language debugger interface for
  218. simulating a single processor. The hardware development and verification tools consist of the XDS510 (
  219. parallel-processor in-circuit emulator and high-level-language debugger ). 
  220.  
  221.  
  222.                             Yann
  223.  
  224.